
package com.gimi.cloud.jimi.common.utils;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

//import com.rd.p2p.core.core.Global;
//import com.rd.p2p.core.core.domain.TripartiteAccount;
//
//import cn.jpush.api.JPushClient;
//import cn.jpush.api.common.resp.APIConnectionException;
//import cn.jpush.api.common.resp.APIRequestException;
//import cn.jpush.api.push.PushResult;
//import cn.jpush.api.push.model.Message;
//import cn.jpush.api.push.model.Options;
//import cn.jpush.api.push.model.Platform;
//import cn.jpush.api.push.model.PushPayload;
//import cn.jpush.api.push.model.audience.Audience;
//import cn.jpush.api.push.model.audience.AudienceTarget;
//import cn.jpush.api.push.model.notification.Notification;

public class PushUtils {
//
//	public static JPushClient jpushClient = null;
//
//	public static JPushClient getInstance() {
//		TripartiteAccount push = Global.getTripartiteAccount("push_key");
//		if (jpushClient == null) {
//			jpushClient = new JPushClient(push.getSecret(), push.getAccount());//"af4d2a55bf53d3ea7ff4709c", "9b9925cf471bd00d08a7d19e"
//		}
//		return jpushClient;
//	}
//	
//	public static void main(String[] args) {
//		List<String> regis = new ArrayList<String>();
//		regis.add("100d85590949a840a2a");
//		String result = pushWithAliases("推送测试", "17051085151");
//		System.out.println(result);
//	}
//
//	/**
//	 * 对列表目标进行推送
//	 * @param title
//	 * @param alert
//	 * @param registrationId
//	 * @return
//	 */
//	public static String pushWithRegistrationId(String title, String alert, Collection<String> registrationId) {
//		PushPayload push = PushPayload.newBuilder().setPlatform(Platform.all())
//				.setAudience(Audience.registrationId(registrationId))
//				.setNotification(Notification.alert(alert))
//				.setOptions(Options.newBuilder()
//                        .setApnsProduction(true)//true-推送生产环境 false-推送开发环境（测试使用参数）
//                        .setTimeToLive(90)//消息在JPush服务器的失效时间（测试使用参数）
//                        .build())
//				.build();
//		PushResult result = null;
//		try {
//			result = getInstance()
//					.sendPush(push);;
//		} catch (APIConnectionException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (APIRequestException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		return result.toString();
//	}
//	
//	/**
//	 * 对别名用户alias组推送
//	 * @param title
//	 * @param alert
//	 * @param aliases
//	 * @return
//	 */
//	public static String pushWithAliases(String alert, String aliases) {
//		PushPayload push = PushPayload.newBuilder().setPlatform(Platform.all())
//				.setAudience(Audience.alias(aliases))
//				.setNotification(Notification.alert(alert))
//				.setOptions(Options.newBuilder()
//                        .setApnsProduction(true)//true-推送生产环境 false-推送开发环境（测试使用参数）
//                        .setTimeToLive(90)//消息在JPush服务器的失效时间（测试使用参数）
//                        .build())
//				.build();
//		PushResult result = null;
//		try {
//			result = getInstance().sendPush(push);
//			return result.toString();
//		} catch (APIConnectionException e) {
//			// TODO Auto-generated catch block
////			e.printStackTrace();
//		} catch (APIRequestException e) {
//			// TODO Auto-generated catch block
////			e.printStackTrace();
//		}
//		return null;
//	}
//	
//	
//	/**
//	 * 向所有用户进行推送
//	 * @param alert
//	 * @return
//	 */
//	public static String pushAllAlert(String alert) {
//		PushPayload push = PushPayload.newBuilder()
//                .setPlatform(Platform.all())
//                .setNotification(Notification.alert(alert))
//                .setOptions(Options.newBuilder()
//                        .setApnsProduction(true)//true-推送生产环境 false-推送开发环境（测试使用参数）
//                        .setTimeToLive(90)//消息在JPush服务器的失效时间（测试使用参数）
//                        .build())
//                .build();
//		PushResult result = null;
//		try {
//			result = getInstance().sendPush(push);;
//		} catch (APIConnectionException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (APIRequestException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		return result.toString();
//	}
//
//	/**
//	 * 对标签为tag的用户组推送
//	 * @param content
//	 * @param tag
//	 * @return
//	 */
//	public static String pushByTags(String content, String tag) {
//		PushPayload push = PushPayload.newBuilder()
//        .setPlatform(Platform.all())
//        .setAudience(Audience.newBuilder()
//                .addAudienceTarget(AudienceTarget.tag(tag))
//                .build())
//        .setMessage(Message.newBuilder()
//                .setMsgContent(content)
//                .build())
//        .setOptions(Options.newBuilder()
//                .setApnsProduction(true)//true-推送生产环境 false-推送开发环境（测试使用参数）
//                .setTimeToLive(90)//消息在JPush服务器的失效时间（测试使用参数）
//                .build())
//        .build();
//		PushResult result = null;
//		try {
//			result = getInstance().sendPush(push);;
//		} catch (APIConnectionException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (APIRequestException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		return result.toString();
//	}
//	
//	/**
//	 * 对别名用户alias推送
//	 * @param content
//	 * @param tag
//	 * @return
//	 */
//	public static String pushByAlias(String content, String alias) {
//		PushPayload push = PushPayload.newBuilder()
//        .setPlatform(Platform.android_ios())
//        .setAudience(Audience.newBuilder()
//                .addAudienceTarget(AudienceTarget.alias(alias))
//                .build())
//        .setMessage(Message.newBuilder()
//                .setMsgContent(content)
//                .build())
//        .setOptions(Options.newBuilder()
//                .setApnsProduction(true)//true-推送生产环境 false-推送开发环境（测试使用参数）
//                .setTimeToLive(90)//消息在JPush服务器的失效时间（测试使用参数）
//                .build())
//        .build();
//		PushResult result = null;
//		try {
//			result = getInstance().sendPush(push);;
//		} catch (APIConnectionException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (APIRequestException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		return result.toString();
//	}
//	
}
